Transmission Modification

ABSTRACT

Techniques for modifying a transmission rate of a device having a plurality of transmission rate options are described herein. The techniques include a method comprising receiving data from a sensor indicating movement of an electronic device, the electronic device having a plurality of transmission rate options. Fail ratio metrics are gathered. The fail ratio metrics indicate a ratio of failed transmissions to successful transmissions for rate option during device movement. The method includes determining whether a given rate option has a fail ratio above a predetermined threshold; and, if so, disabling the given rate option while the device is moving.

CROSS REFERENCE TO RELATED APPLICATION

This application is a United States National Stage application ofInternational Patent Application PCT/CN2013/086417 filed Nov. 1, 2013,the contents of which are incorporated by reference as if set forth intheir entirety herein.

TECHNICAL FIELD

This disclosure relates generally to techniques for modifyingtransmission rates. More specifically, the disclosure describestechniques for modifying a transmission rate of a device in mobilescenarios.

BACKGROUND

With the fast growth of mobile device market, wireless communicationtechnologies, such as Institute of Electrical and Electronics Engineers(IEEE) 802.11 wireless local area network (WLAN) have become extremelyimportant for mobile phones, tablets, laptops, and the like. Theconvenience and availability of the wireless technology enable people touse their devices increasingly in mobile scenarios. When mobile,however, it is difficult to accurately predict the instantaneouswireless channel conditions due to the dynamics of its surroundingenvironments. A mismatch occurs between the physical layer modulationscheme (i.e., transmission rate) and channel conditions can result infrequent media access control layer frame retransmissions. This can, inturn, negatively affect the throughput performance and device energyefficiency.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a computing system configured to transmitdata to a network.

FIG. 2 is a process flow diagram illustrating modification of rateselection in a mobile scenario.

FIG. 3 is a block diagram illustrating a method for modifying atransmission rate of a device.

FIG. 4 is a block diagram depicting an example of a tangible,non-transitory computer-readable medium configured to modify wirelesstransmission operations of a device.

DETAILED DESCRIPTION

The subject matter disclosed herein relates to techniques for modifyinga transmission rate of a device in mobile scenarios. A device maycommunicate with a network through multiple channels each having atransmission rate. For example, a computing device may communicatewirelessly with an access point of a network using a 60 megabyte persecond (Mbps) rate, a 54 Mbps rate, a 48 Mbps rate, or other ratesavailable at a given access point. Fail ratios indicating attempted butfailed transmissions are determined for each rate option. A fail ratio,as referred to herein, is the ratio of an average of attemptedtransmissions to the average failed transmission. The fail ratios may beused to determine which rate option to select at a given time tomaximize throughput. When the computing device is moving, such as when auser carries the computing device while walking, the available rateoptions can fluctuate more than when the computing device is stationary.In the embodiments described herein, a computing device may modifytransmission operations when a computing device is moving by disablingrates options associated with a fail ratio that is above a predeterminedthreshold. In embodiments, by leveraging device mobility information,system performance and user experience can be improved.

FIG. 1 is a block diagram of a computing system configured to transmitdata to a network. The computing system 100 may include a computingdevice 101 having a processor 102, a storage device 104 having anon-transitory computer-readable medium, a memory device 106, a networkinterface 108, and a sensor hub 110 connected to one or more sensors112. The computing device 101 may communicate, via the network interface108, with a network 114 via one of multiple available channels whereineach channel has a given transmission rate. In embodiments, the networkinterface 108 may include a transceiver (not shown), or may becommunicatively coupled to a transceiver to communicate to the network114.

The storage device 104 may include a rate control driver 116. The ratecontrol driver 116 may be implemented by any suitable hardware orcombination of hardware and programming code. For example, the ratecontrol driver 116 may be implemented in digital logic circuits,processors, or some combination thereof. In some embodiments, one ormore components of the rate control driver 116 may be implemented as ageneral purpose processor, such as an ASIC or FPGA, executingprogramming code. Accordingly, a computing device operable to carry outthe techniques described herein may include a processor, such as theprocessor 102, and a tangible, non-transitory storage medium, such asthe storage device 104, for storing programming code configured toimplement the techniques disclosed herein. In embodiments, a ratecontrol module 120 may implemented as logic at least partiallycomprising hardware logic at the network interface 108, and may operatein conjunction with the rate control driver 116 to select a transmissionchannel having a given rate option. In embodiments, the rate controldriver 116 may be co-located with a device driver, such as the ratecontrol module 120, of a wireless network interface, such as the networkinterface 108. In embodiments, the rate control module 120 receives datafrom a sensor indicating movement of the device. The rate control module120 gathers fail ratio metrics indicating a ratio of failedtransmissions to successful transmissions for each rate option when thedevice is moving. The computing device 101, via either the rate controlmodule 120 or the rate control driver 116, determines whether a givenrate option has a failure ratio above a predetermined threshold. If thegiven rate option has a failure ratio above the predetermined threshold,either the rate control module 120 or the rate control driver 116, orboth the rate control module 120 and the rate control driver 116 inconjunction, may direct computing device to disable the given rateoption while the device is moving. Although FIG. 1 illustrates the ratecontrol driver 116 and the rate control module 120 as distinctcomponents of the computing device 101, the rate control driver 116 andthe rate control module 120 may be combined to perform the operations ofmodifying transmission rate selection at a network interface card of thenetwork interface 108, or as modules executed by the processor 102depending on implementation.

In embodiments, the rate control driver 116, the rate control module120, or a combination of the rate control driver 116 and the ratecontrol module 120 may be implemented as logic, at least partiallyincluding hardware logic including a combination of hardware, software,or firmware. For example, the rate control driver 116, the rate controlmodule 120, or a combination of the rate control driver 116 and the ratecontrol module 120 may be implemented as a component that includes bothsensor and wireless communication modules such as the sensor hub 110. Asensor hub may include the hardware logic configured to carry out theoperations discussed above. However, the logic may be disposed elsewherewithin the computing device 101 or communicatively coupled to thecomputing device 101. In some embodiments, the rate control driver 116,the rate control module 120, or a combination of the rate control driver116 and the rate control module 120 may be implemented partially assoftware, such as software that may be stored on a computer-readablemedia, as well as partially implemented as hardware logic. In someembodiments, the logic of the rate control driver 116, the rate controlmodule 120, or a combination of the rate control driver 116 and the ratecontrol module 120 may be implemented as a discrete component, orstand-alone device, or may be implemented as a system on a chip.

The processor 102 may be a main processor that is adapted to execute thestored instructions. The processor 102 may be a single core processor, amulti-core processor, a computing cluster, or any number of otherconfigurations. The processor 102 may be implemented as ComplexInstruction Set Computer (CISC) or Reduced Instruction Set Computer(RISC) processors, x86 Instruction set compatible processors,multi-core, or any other microprocessor or central processing unit(CPU).

The memory device 106 can include random access memory (e.g., SRAM,DRAM, zero capacitor RAM, SONOS, eDRAM, EDO RAM, DDR RAM, RRAM, PRAM,etc.), read only memory (e.g., Mask ROM, PROM, EPROM, EEPROM, etc.),flash memory, or any other suitable memory systems. The main processor102 may be connected through a system bus 124 (e.g., PCI, ISA,PCI-Express, HyperTransport®, NuBus, etc.) to the network interface 108.The network interface 108 may enable the computing device 101 tocommunicate, via the network 112, with the remote devices (not shown).

The block diagram of FIG. 1 is not intended to indicate that thecomputing device 101 is to include all of the components shown inFIG. 1. Further, the computing device 101 may include any number ofadditional components not shown in FIG. 1, depending on the details ofthe specific implementation.

FIG. 2 is a process flow diagram illustrating modification of rateselection in a mobile scenario. A user may initiate a movement of adevice, such as the computing device 101 of FIG. 1. For example, thedevice may be a mobile device, such as a cell phone, a smart phone, alaptop computing device, a tablet computing device, and the like,carried by the user when the user is walking. The movement may bedetected by one or more sensors, such as the one or more sensors 112 ofFIG. 1. The sensor hub 112 may receive raw sensor data as indicated inFIG. 2. The process 200 may begin at block 202. The rate control module120 may determine, at block 204, that the device is moving. For example,the sensor may be an accelerometer indicating movement of the device asthe device is being carried. At block 206, fail ratio metrics aregathered. The fail ratio metrics indicate a ratio of failedtransmissions to successful transmissions for each rate option when thedevice is moving. For example, during device movement, the availablerate options may include 60 Mbps channel, a 54 Mbps channel, and 48 Mbpschannel. Each of the rate options is associated with a unique failratio. The fail ratio for 60 Mbps may be 50% indicating that for everytwo packets transmitted to a network via a network access point only onepacket was successfully received by the network access point.

In mobile scenarios, the fail ratio of a given transmission rate optionmay be high enough that continuously monitoring the channel excessivelyconsumes power and requires retransmission of packets. The rate controlmodule 120 may determine, at block 208, if a fail ratio for a given rateoption is above a first predetermined threshold. For example, the firstpredetermined threshold may be 25%, and a fail ratio of 50% for a givenrate option will exceed the fail ratio. If the fail ratio for a givenrate option is above the first predetermined threshold, the rate optionis disabled at block 210. For example, if a 60 Mbps rate option has afail rate of 50% and the first predetermined threshold is 25%, the 60Mbps rate option will be disabled, and further fail ratio metrics willnot be gathered for the 60 Mbps rate option, unless it is re-enabled asdiscussed below. At block 212, the fail ratio statistics may be clearedfrom a buffer, such as the memory device 106 of FIG. 1.

In embodiments, the fail ratio may be compared to a second predeterminedthreshold. The second predetermined threshold may indicate a relativelylow fail ratio. For example, the second predetermined threshold may be5%. At block 214, if the fail ratio is below the first predeterminedthreshold, the process 200 may determine whether the fail ratio is lessthan the second predetermined threshold. If the fail ratio for a givenrate option is below the second predetermined ratio, the process mayenable, at block 216, an adjacent rate higher than the current top rate.For example, if the 60 Mbps rate option was disabled at block 208, thenext highest rate option, such as 54 Mbps, may have a fail rate belowthe first predetermined threshold, and below the second predeterminedthreshold. In this scenario, the 60 Mbps rate option may be enabledagain, as it is the adjacent rate higher than the current top rate of 54Mbps. If a given rate option is below the first predetermined thresholdand above the second predetermined threshold, the process 200 may clearthe fail ratio statistics as illustrated in block 212, and the processmay end at block 218

In embodiments, the device may be transitioned from a mobile scenario toa stationary scenario. The gathered sensor data may indicate a reducedmovement in comparison to the movement indicating mobility. Rather thandetermining the fail ratios for every rate option available, the ratecontrol module 120 of the computing device 100 may select apredetermined rate option. For example, once the sensor data indicatesthat the device is stationary, the rate control module 120 may enableall of the available channels having rate options, and may select apredetermined rate option, such as 60 Mbps. In this scenario, the rateoption may be selected based on the predetermined input from amanufacture of the device, for example. In the embodiments described,herein predetermined thresholds, and predetermined rate options, may beselected by an operator of the device, a manufacturer of the device, auser of the device, and the like.

FIG. 3 is a block diagram illustrating a method for modifying atransmission rate of a device. At block 302, sensor data is receivedindicating movement of the device. At block 304, fail ratio metrics aregathered indicating a ratio of failed transmissions to successfultransmissions for each rate option when the device is moving. Ratherthan continuing to gather fail ratio metrics, a rate option may bedisabled based on whether a given rate option has a fail ratio that isdetermined, at block 306, to be above a predetermined threshold. If thefail ratio for a given rate option is above the predetermined threshold,then the given rate option may be disabled, at block 308, while thedevice is moving.

Disabling a given rate option may preserve the power of the computingdevice, and improve wireless transmission performance. For example,rather than continuing to gather fail ratio statistics, rate optionshaving significantly high fail ratios may be disabled.

In embodiments, the wireless transmission may be modified when thedevice transitions from moving to stationary as discussed above. Inembodiments, the method 300 may include selecting a rate option having afail ratio less than a first predetermined threshold. The method 300 mayre-enable a previously disabled channel when a selected channel has afail ratio that is significantly low, indicating that adjacent channelsconditions may have improved. Thus, the method 300 may includere-enabling a previously disabled channel when the fail ratio of theselected channel is below a second predetermined threshold, wherein thesecond predetermined threshold is lower than the first. For example, thefirst predetermined threshold may be a 25% fail ratio while the secondpredetermined threshold may be a 5% fail ratio.

FIG. 4 is a block diagram depicting an example of a tangible,non-transitory computer-readable medium configured to modify wirelesstransmission operations of a device. The tangible, non-transitory,computer-readable medium 400 may be accessed by a processor 402 over acomputer bus 404. Furthermore, the tangible, non-transitory,computer-readable medium 400 may include computer-executableinstructions to direct the processor 402 to perform the steps of thecurrent method.

The various software components discussed herein may be stored on thetangible, non-transitory, computer-readable medium 400, as indicated inFIG. 4. For example, a rate control module 408 is configured to modifywireless transmission based on sensor data indicating movement of adevice. When the sensor data indicates movement, fail ratio metrics maybe gathered for all available rate options, and rate options having afail ratio above a predetermined threshold may be disabled.

EXAMPLE 1

A method for modifying transmission rates is described herein. Themethod may include receiving data from a sensing means, such as amovement sensor, indicating movement of an electronic device, theelectronic device having a plurality of transmission rate options. Themovement sensor may include any means for indicating movement of thedevice such as a global placement sensor, a gyroscope, an altimeter, anaccelerometer, an ambient condition sensor, any combination of sensors,and the like. The method may include modifying transmission rateselection based on the sensor data indicating movement of the device.

EXAMPLE 2

A system for modifying transmission rates based on movement detection isdescribed herein. The system may include a sensing means, such as asensor to detect movement of an electronic device, and a processingmeans, such as a processor or microcontroller. The system may include asystem memory means, such as a memory device or unit, wherein the systemmemory means is configured to store code to direct the processing meansto receive data from the sensing means indicating movement of theelectronic device. The code may direct the processing means to modifytransmission rate selection based on the sensor data indicating movementof the device.

EXAMPLE 3

A tangible, non-transitory, computer-readable medium is describedherein. The computer-readable medium may include instructions to directa processing means, such as a microcontroller, to receive data from asensing means, such as a global placement system sensor, anaccelerometer, a gyroscope, an altimeter, an ambient condition sensor,and the like, wherein the data received from the sensing means indicatesmovement of a device. The instructions may gather fail ratio metrics forrate options, and may determine whether a given rate option has a failratio above a predetermined threshold. If a given rate option has a failratio above a predetermined threshold, the instructions may direct theprocessing means to disable the given rate option while the device ismoving.

Some embodiments may be implemented in one or a combination of hardware,firmware, and software. Some embodiments may also be implemented asinstructions stored on the tangible non-transitory machine-readablemedium, which may be read and executed by a computing platform toperform the operations described. In addition, a machine-readable mediummay include any mechanism for storing or transmitting information in aform readable by a machine, e.g., a computer. For example, amachine-readable medium may include read only memory (ROM); randomaccess memory (RAM); magnetic disk storage media; optical storage media;flash memory devices; or electrical, optical, acoustical or other formof propagated signals, e.g., carrier waves, infrared signals, digitalsignals, or the interfaces that transmit and/or receive signals, amongothers.

An embodiment is an implementation or example. Reference in thespecification to “an embodiment,” “one embodiment,” “some embodiments,”“various embodiments,” or “other embodiments” means that a particularfeature, structure, or characteristic described in connection with theembodiments is included in at least some embodiments, but notnecessarily all embodiments, of the present techniques. The variousappearances of “an embodiment,” “one embodiment,” or “some embodiments”are not necessarily all referring to the same embodiments.

Not all components, features, structures, characteristics, etc.described and illustrated herein need be included in a particularembodiment or embodiments. If the specification states a component,feature, structure, or characteristic “may”, “might”, “can” or “could”be included, for example, that particular component, feature, structure,or characteristic is not required to be included. If the specificationor claim refers to “a” or “an” element, that does not mean there is onlyone of the element. If the specification or claims refer to “anadditional” element, that does not preclude there being more than one ofthe additional element.

It is to be noted that, although some embodiments have been described inreference to particular implementations, other implementations arepossible according to some embodiments. Additionally, the arrangementand/or order of circuit elements or other features illustrated in thedrawings and/or described herein need not be arranged in the particularway illustrated and described. Many other arrangements are possibleaccording to some embodiments.

In each system shown in a figure, the elements in some cases may eachhave a same reference number or a different reference number to suggestthat the elements represented could be different and/or similar.However, an element may be flexible enough to have differentimplementations and work with some or all of the systems shown ordescribed herein. The various elements shown in the figures may be thesame or different. Which one is referred to as a first element and whichis called a second element is arbitrary.

It is to be understood that specifics in the aforementioned examples maybe used anywhere in one or more embodiments. For instance, all optionalfeatures of the computing device described above may also be implementedwith respect to either of the methods or the computer-readable mediumdescribed herein. Furthermore, although flow diagrams and/or statediagrams may have been used herein to describe embodiments, thetechniques are not limited to those diagrams or to correspondingdescriptions herein. For example, flow need not move through eachillustrated box or state or in exactly the same order as illustrated anddescribed herein.

The present techniques are not restricted to the particular detailslisted herein. Indeed, those skilled in the art having the benefit ofthis disclosure will appreciate that many other variations from theforegoing description and drawings may be made within the scope of thepresent techniques. Accordingly, it is the following claims includingany amendments thereto that define the scope of the present techniques.

What is claimed is:
 1. A method, comprising: receiving data from asensor indicating movement of an electronic device, the electronicdevice having a plurality of transmission rate options; and modifyingtransmission rate selection based on the sensor data indicating movementof the device.
 2. The method of claim 1, wherein modifying thetransmission rate selection comprises: gathering fail ratio metricsindicating a ratio of failed transmissions to successful transmissionsfor each rate option when the device is moving; determining whether agiven rate option has a fail ratio above a predetermined threshold; and,if so, disabling the given rate option while the device is moving. 3.The method of claim 2, wherein disabling the given rate option comprisesdisabling a highest rate option relative to other rate options of theplurality of rate options.
 4. The method of claim 2 or 3, wherein thepredetermined threshold is a first predetermined threshold, the methodcomprising: selecting a rate option having a fail ratio less the firstpredetermined threshold; determining whether the selected rate optionhas a fail ratio less than a second predetermined threshold; andenabling an adjacent rate option higher than the selected rate optionsuch that a fail ratio may be determined for the adjacent rate option.5. The method of claim 2, 3, or 4, comprising: receiving data from thesensor indicating reduced movement of the device; and erasing thegathered fail ratio metrics in response to the received data indicatingreduced movement.
 6. The method of any of the proceeding claims, whereinmodifying the transmission rate selection comprises: receiving data fromthe sensor indicating reduced movement of the device; enabling all rateoptions; and selecting, in response to the reduced movement datareceived, a predetermined rate option from among the plurality of rateoptions.
 7. The method of claim 6, wherein the predetermined rate optionis selected before a rate option is selected based on gathered failratio metrics for each rate option.
 8. A tangible, non-transitory,computer-readable medium comprising instructions to direct a processorto perform the method of any one of the proceeding claims.
 9. A system,comprising: a sensor to detect movement of an electronic device; atransceiver of the device transmit and receive wireless signals; logic,at least partially implemented in hardware, to: receive data from thesensor indicating movement of the electronic device; and modifytransmission rate selection based on the sensor data indicating movementof the device.
 10. The system of claim 9, wherein modifying thetransmission rate selection comprises: determining fail ratios for eachrate of a plurality of transmission rates available when the device ismoving; determining whether a given transmission rate has a fail ratioabove a predetermined threshold; and, if so, disabling the giventransmission rate, such that fail ratios for the disabled transmissionrate will not be determined.
 11. The system of claim 10, wherein thefail ratios indicate the ratio of failed transmissions to successfultransmissions for each rate available.
 12. The system of claim 10 or 11,wherein predetermined threshold is a first predetermined threshold, andwherein the system memory comprises code to direct the processing deviceto: select an available rate having a fail ratio less the firstpredetermined threshold; determine whether the selected available ratehas a fail ratio less than a second predetermined threshold; and enablean adjacent available rate higher than the selected rate such that afail ratio may be determined for the adjacent available rate.
 13. Thesystem of claim 10, 11, or 12, wherein disabling the given availablerate comprises disabling a highest available rate relative to otheravailable rates of the plurality of available rates.
 14. The system ofclaim 10, wherein modifying the transmission rate selection comprises:receiving data from the sensor indicating reduced movement of thedevice; and erasing the gathered fail ratio metrics in response to thereceived data indicating reduced movement.
 15. The system of claim 10 or14, wherein modifying the transmission rate selection comprises:receiving data from the sensor indicating reduced movement of thedevice; enabling all available rates; and selecting, in response to thereduced movement data received, a predetermined rate from among theplurality of available rates.
 16. The system of claim 15, wherein thepredetermined rate is initially selected before a rate option isselected based on gathered fail ratio metrics for each rate option. 17.The system of claim 9, wherein the sensor comprises: a gyroscope; analtimeter; an accelerometer; an ambient light sensor; an ambient soundsensor; a global placement sensor; and any combination of the above. 18.An apparatus, comprising: logic, at least partially implemented inhardware, to: receive data from the sensor indicating movement of theelectronic device; and modify transmission rate selection based on thesensor data indicating movement of the device.
 19. The apparatus ofclaim 18, wherein modifying the transmission rate selection comprises:gathering fail ratio metrics indicating a ratio of failed transmissionsto successful transmissions for each rate option when the device ismoving; determining whether a given rate option has a fail ratio above apredetermined threshold; and, if so, disabling the given rate optionwhile the device is moving.
 20. The apparatus of claim 19, whereindisabling the given rate option comprises disabling a highest rateoption relative to other rate options of the plurality of rate options.21. The apparatus of claim 19 or 20, wherein the predetermined thresholdis a first predetermined threshold, and wherein the logic, at leastpartially implemented in hardware, is to: select a rate option having afail ratio less the first predetermined threshold; determine whether theselected rate option has a fail ratio less than a second predeterminedthreshold; and enable an adjacent rate option higher than the selectedrate option such that a fail ratio may be determined for the adjacentrate option.
 22. The apparatus of claim 19, 20, or 21, wherein thelogic, at least partially implemented in hardware, is to: receive datafrom the sensor indicating reduced movement of the device; and erase thegathered fail ratio metrics in response to the received data indicatingreduced movement.
 23. The apparatus of any of the proceeding claims,wherein modifying the transmission rate selection comprises: receivingdata from the sensor indicating reduced movement of the device; enablingall rate options; and selecting, in response to the reduced movementdata received, a predetermined rate option from among the plurality ofrate options.
 24. The apparatus of claim 23, wherein the predeterminedrate option is selected before a rate option is selected based ongathered fail ratio metrics for each rate option.